package com.qujia.station.service;

import com.qujia.system.domain.dto.SysUserInviteInfoDetailResDto;
import com.qujia.system.domain.dto.SysUserInviteInfoResDto;
import com.qujia.system.domain.form.SysUserInviteInfoDetailReqForm;
import com.qujia.system.domain.form.SysUserInviteInfoReqForm;
import com.qujia.system.domain.vo.SysUserInviteInfoListResVo;
import com.qujia.system.domain.vo.SysUserInviteQrCodeResVo;

import java.util.List;

public interface ISysUserInviteInfoService {

    /**
     * 根据员工id生成微信动态二维码（员工推荐码）
     *
     * @param userId 员工id
     * @return
     */
    SysUserInviteQrCodeResVo getUserInviteQrCodeInfo(Long userId);

    /**
     * 根据筛选条件查询推荐列表信息
     *
     * @param sysUserInviteInfoReqForm
     * @return
     */
    SysUserInviteInfoListResVo getSysUserInviteInfoListPage(SysUserInviteInfoReqForm sysUserInviteInfoReqForm);

    /**
     * 根据筛选条件查询员工推荐的用户列表信息
     *
     * @param sysUserInviteInfoDetailReqForm
     * @return
     */
    List<SysUserInviteInfoDetailResDto> getSysUserInviteInfoDetailList(SysUserInviteInfoDetailReqForm sysUserInviteInfoDetailReqForm);

    /**
     * 根据筛选条件查询推荐列表信息
     *
     * @param sysUserInviteInfoReqForm
     * @return
     */
    List<SysUserInviteInfoResDto> getSysUserInviteInfoList(SysUserInviteInfoReqForm sysUserInviteInfoReqForm);
}
